package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Set;

/**
 * 角色接口层
 * @author wangxin
 * @version 1.0
 */
public interface RoleDao {
    //查询用户拥有的角色
    Set<Role> findRolesByUserId(Integer userId);

    /**
     * 分页查询所有角色
     * @param queryString
     * @return
     */
    Page<Role> selectByCondition(String queryString);

    /**
     * 根据角色id查询角色与菜单关联表
     * @param id
     * @return
     */
    int findMenuByRoleId(Integer id);

    /**
     * 根据角色id查询角色与权限关联表
     * @param id
     * @return
     */
    int findPerByRoleId(Integer id);

    /**
     * 根据角色id查询角色与用户关联表
     * @param id
     * @return
     */
    int findUserByRoleId(Integer id);

    /**
     * 都不存在关系是直接删除角色
     * @param id
     */
    void delete(Integer id);

    /**
     * 查询所有角色供用户勾选
     * @return
     */
    List<Role> findAll();

}
